package homework3;

import tester.Tester;

public class Examples {
	
	MenuItem item1 = new MenuItem("Pasta", 500);
	MenuItem item2 = new MenuItem("Sauce", 200);
	MenuItem item3 = new MenuItem("Raw flesh", 900);
	MenuItem item4 = new MenuItem("Murder weapon", 10000);
	MenuItem item5 = new MenuItem("Unicorn", 1);
	
	OEmptyList oEmptyList = new OEmptyList();
	OList oList1 = new OList( item1, oEmptyList );
	OList oList2 = new OList( item2, oList1 );
	OList oList3 = new OList( item3, oList2 );
	OList oList4 = new OList( item4, oList3 );
	OList oList5 = new OList( item5, oList4 );
	
	GEmptyList<MenuItem> gEmptyList = new GEmptyList<MenuItem>();
	GList<MenuItem> gList1 = new GList<MenuItem>( item1, gEmptyList );
	GList<MenuItem> gList2 = new GList<MenuItem>( item2, gList1 );
	GList<MenuItem> gList3 = new GList<MenuItem>( item3, gList2 );
	GList<MenuItem> gList4 = new GList<MenuItem>( item4, gList3 );
	GList<MenuItem> gList5 = new GList<MenuItem>( item5, gList4 );
	
	public void testTeam(Tester t) {
		
		t.checkExpect(gList5.hasElt(item5), true);
		t.checkExpect(gList5.hasElt(item1), true);
		t.checkExpect(gList4.hasElt(item5), false);
		t.checkExpect(gEmptyList.hasElt(item1), false);
		
		t.checkExpect(oList5.hasElt(item5), true);
		t.checkExpect(oList5.hasElt(item1), true);
		t.checkExpect(oList4.hasElt(item5), false);
		t.checkExpect(oEmptyList.hasElt(item1), false);
		
	}

	public static void main(String[] args) {
		Tester.run(new Examples());
	}
}
